package br.com.localab.equipamento.controlador;

import java.io.Serializable;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import org.hibernate.Session;

import br.com.localab.fachada.Fachada;
import br.com.localab.equipamento.modelo.Equipamento;
import br.com.localab.util.autenticar.FacesContextUtil;

@ManagedBean
@ViewScoped
public class EditarEquipamentoMB implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private String nome;
	private String descricao;
	private Equipamento equipamento;
	private String quantidade;	
	private String reservado;
	private Long codigo;
	private Fachada fachada;
	private Session s;

	@PostConstruct
	public void init() {
		this.equipamento = (Equipamento) FacesContextUtil
				.getSessionAttribute("editarEquipamento");
		codigo = equipamento.getCodigo();
		nome = equipamento.getNome();
		descricao = equipamento.getDescricao();
		quantidade = equipamento.getQuantidade() +"";
		reservado = equipamento.getReservado() +"";
		FacesContextUtil.setSessionAttribute("editarEquipamento", null);
	}

	public String editar() {
		s = FacesContextUtil.getRequestSession();
		fachada = new Fachada(s);
		String mensagem = "";
		Equipamento equipamento = fachada.equipamentoProcurar("nome",nome);
		equipamento.setNome(nome);
		equipamento.setDescricao(descricao);
		equipamento.setQuantidade(Integer.parseInt(quantidade));
		equipamento.setReservado(Integer.parseInt(reservado));
		equipamento.setAtivo(true);
		mensagem = fachada.equipamentoEditar(equipamento);
		FacesContextUtil.setMessageInformacao("Info", mensagem);
		limpar();
		return null;
	}

	public void limpar() {
		nome = "";
		descricao = "";
		codigo = 0L;
		quantidade = "";
		reservado = "";
	}

	public Equipamento getEquipamento() {
		return equipamento;
	}

	public void setEquipamento(Equipamento equipamento) {
		this.equipamento = equipamento;
	}

	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Long getCodigo() {
		return codigo;
	}

	public void setCodigo(Long codigo) {
		this.codigo = codigo;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getQuantidade() {
		return quantidade;
	}

	public void setQuantidade(String quantidade) {
		this.quantidade = quantidade;
	}

	public String getReservado() {
		return reservado;
	}

	public void setReservado(String reservado) {
		this.reservado = reservado;
	}

	
	
}
